/* eslint-disable perfectionist/sort-imports */
import { createApp } from 'vue'
import App from './App.vue'
import installer from './as-needed'
import i18n from './i18n'
import router from './router'
import store from './store'

import ComActions from '@/components/Common/Actions.vue'
import ComSwitch from '@/components/Common/Switch.vue'
import ComHeader from '@/components/Common/Header.vue'
import DictData from '@/components/DictData/index.vue'
import { iconsInstaller } from '@/components/IconSelect/util'

import permission from './utils/permission'
import 'element-plus/theme-chalk/display.css'
import 'ele-admin-plus/es/style/nprogress.scss'
import './styles/themes/rounded.scss'
import './styles/themes/dark.scss'
import './styles/themes/transparent.scss'
import './styles/index.scss'

/** 项目css */
import './styles/app.scss'
/** unocss */
import 'uno.css'

const app = createApp(App)

app.use(store)
  .use(router)
  .use(permission)
  .use(i18n)
  .use(installer)
  .use(iconsInstaller)

app.component('DictData', DictData)
  .component('ComSwitch', ComSwitch)
  .component('ComHeader', ComHeader)
  .component('ComActions', ComActions)

app.mount('#app')
